package juego.powerUps;

import juego.entidad.*;
import juego.gravedad.Gravedad;
import juego.niveles.generator.Nivel;
import juego.objetos.PiedraIrrompiblePowerUp;
import juego.personaje.mario.Mario;

/**
 * Clase abstracta que modela un power up del juego.
 * @author Latini Macarena
 * @author Rosas Tifany
 *
 */
public abstract class PowerUp extends EntidadColisionable{
	
	protected int premio;
	protected PiedraIrrompiblePowerUp piedra;
	
	/**
	 * Contructor
	 * @param p Posicion del power up
	 * @param n Nivel al que pertenece
	 */
	protected PowerUp(Posicion p, Nivel n)
	{
		super(p,n);
		piedra=null;
	}
	
	/**
	 * Setea la piedra en la que se encuentra.
	 * @param p Piedra en la que esta el power up.
	 */
	public void setPiedra(PiedraIrrompiblePowerUp p)
	{
		piedra=p;
	}
	
	/**
	 * Obtiene el premio del power up.
	 * @return premio del power up.
	 */
	public int obtenerPremio()
	{
		return premio;
	}

	/**
	 * Modela una colision por arriba de Mario con el power up.
	 */
	public void colisionPorArriba(Mario m)
	{
		colision(m);
	}
	/**
	 * Modela una colision por abajo de Mario con el power up.
	 */
	public void colisionPorAbajo(Mario m)
	{
		colision(m);
	}

}
